Port OpenLDAP appliance to TurnKey 19 - #24
Open
lirazsiri wants to merge 7 commits into
Open
Conversation
Move the appliance release contract to v19 while retaining the Debian-packaged OpenLDAP, phpLDAPadmin, Lighttpd and PHP-FPM stack. Refresh the README to match the existing Debian phpLDAPadmin source, administrator DN, generated LDAPS certificates and actual Webmin module. Add focused acceptance coverage for normal services, administrator LDAP and trusted LDAPS binds, the default directory structure, an add-search-delete entry round trip, the phpLDAPadmin HTTPS interface and signed Trixie updater candidates. Document the README crosswalk, Core inheritance and Docker boundary. Verified with Bash and shell syntax checks, Python source compilation and git diff checks.
Debian Trixie's noninteractive slapd reconfiguration leaves the daemon stopped in the Fab chroot. The container stop helper previously let pgrep's no-process status abort the script under set -e before restart_slapd could start the newly configured service. Treat the absent process as the existing helper's intended already-stopped state. This keeps normal live-container and systemd behavior unchanged while allowing the build-time initialization flow to continue. Verified with Bash syntax and git diff checks; acceptance run 20260824t075354z-6354-9330 supplied the failing pgrep-after-reconfigure path.
Fab runs appliance configuration in a chroot that reports container virtualization. In that environment systemctl accepts the slapd start request but explicitly ignores it, so the following LDAP data load has no server to contact. Use the already-supported slapd init script for the container start path. The manual stop workaround and normal non-container systemd path remain unchanged. Verified the failure with the retained 20260824t080037z-1648-5973 build log and a direct chroot systemctl probe; bash syntax and whitespace checks pass.
The firstboot wrapper captured all output from the reinitialization script and discarded it. When an LDAP setup command failed, administrators received only a Python exception with no failing-operation evidence. Run the script with inherited output while preserving the same arguments and checked exit-status contract. This does not alter successful OpenLDAP configuration behavior. Verified Python compilation, shell syntax, and whitespace checks; acceptance run 20260824t080939z-4020-15323 demonstrates the previously opaque failure.
Trixie package reconfiguration can leave slapd with no running process. The container stop helper reached a bare return in that state, inherited the preceding false test status, and aborted under errexit before restart. Return success explicitly when there is nothing to stop. This preserves the existing manual-stop behavior for a running daemon and allows the established init-script start to proceed. Verified by the preserved output from acceptance run 20260824t082453z-5969-17072 plus shell syntax and whitespace checks.
Debian Trixie links slapd against OpenSSL 3. The legacy GnuTLS priority value normal is rejected when the TLS attributes are loaded, aborting OpenLDAP initialization with LDAP error 80. Remove only the obsolete cipher override. Certificate, key, CA, and client verification configuration remain explicit, while cipher selection follows the maintained Debian/OpenSSL defaults. A disposable Trixie slapd 2.6.10 probe accepted every other TLS attribute and reproduced error 80 only for olcTLSCipherSuite. Shell syntax, Python compilation, and whitespace checks pass.
Document the exact passing source and harness commits, retained artifact hashes, installed versions, updater result, and the README-defined LDAP, LDAPS, and management-interface evidence. Also record the Trixie OpenSSL cipher migration finding and distinguish the known Docker test-path limitations from application behavior. No appliance behavior changed after the passing run.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Validation